﻿$(function () {
	$('#tt').datagrid({

		idField: 'ID',
		url: 'scoreHandler.ashx?c=' + new Date().getMilliseconds() + '&type=getlist', //?startIndex=0&endIndex=20  /''+ index +'/'
		singleSelect: true,
		columns: [[
			{ field: 'ID', title: '序号', width: 80 },
			{ field: 'UserID', title: '工号', width: 100 },
			{ field: 'PaperName', title: '试卷', width: 80 },
			{ field: 'SingleProblemMark', title: '单选题', width: 80 },
			{ field: 'MultiProblemMark', title: '多选题', width: 80 },
			{ field: 'JudgeProblemMark', title: '判断题', width: 80 },
			{ field: 'FillBlankProblemMark', title: '填空题', width: 80 },
			{ field: 'QuestionProblemMark', title: '问答题', width: 80 },
			{ field: 'UserScore', title: '得分', width: 80 },
			{ field: 'ExamTime', title: '考试时间', width: 180 },			{
				field: 'opt', title: '操作', width: 100, align: 'center',
				formatter: function (value, rec, index) {
					var e = '<a href="#" mce_href="#" onclick="view(' + rec.ID + ')">批卷</a> ';
					 
					return e;
				}
			}
		]],
		toolbar: [{
			text: '导出', iconCls: 'icon-save', handler: function () {

				$.getJSON('scoreHandler.ashx?c=' + new Date().getMilliseconds() + '&type=down&id=' + $('#papers').combobox('getValue'), function (data) {
					if (data == '')
						return;
					JSONToCSVConvertor(data, "导出", true);

				});


			}
		}
		],
		pageSize: 20,
		pagination: true, rownumbers: true
	});

});

function view(id) {
	var maxWidth = ($(window).width()-5) + 'px';
	var maxHeight = ($(window).height()-5) + 'px'; 
	layer.open({
		type: 2,
		area: [maxWidth, maxHeight],
		maxmin: true,
		content: '../Compare/view.aspx?id=' + id //这里content是一个URL，如果你不想让iframe出现滚动条，你还可以content: ['http://sentsin.com', 'no']
	});
}

function onChange(newValue, oldValue) {

	$('#tt').datagrid({
		queryParams: {
			id: newValue
		}
	});
}


function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) {
	//If JSONData is not an object then JSON.parse will parse the JSON string in an Object  
	var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData)
		: JSONData;
	var CSV = '';
	//Set Report title in first row or line  
	CSV += ReportTitle + '\r\n\n';
	//This condition will generate the Label/Header  
	if (ShowLabel) {
		var row = "";
		//This loop will extract the label from 1st index of on array  
		for (var index in arrData[0]) {
			//Now convert each value to string and comma-seprated  
			row += index + ',';
		}
		row = row.slice(0, -1);
		//append Label row with line break  
		CSV += row + '\r\n';
	}
	//1st loop is to extract each row  
	for (var i = 0; i < arrData.length; i++) {
		var row = "";
		//2nd loop will extract each column and convert it in string comma-seprated  
		for (var index in arrData[i]) {
			row += '"' + arrData[i][index] + '",';
		}
		row.slice(0, row.length - 1);
		//add a line break after each row  
		CSV += row + '\r\n';
	}
	if (CSV == '') {
		alert("Invalid data");
		return;
	}
	//Generate a file name  
	var fileName = "MyReport_";
	//this will remove the blank-spaces from the title and replace it with an underscore  
	fileName += ReportTitle.replace(/ /g, "_");
	//Initialize file format you want csv or xls  
	var uri = 'data:text/csv;charset=utf-8,' + encodeURI(CSV);
	// Now the little tricky part.  
	// you can use either>> window.open(uri);  
	// but this will not work in some browsers  
	// or you will not get the correct file extension      
	//this trick will generate a temp <a /> tag  
	var link = document.createElement("a");
	link.href = uri;
	//set the visibility hidden so it will not effect on your web-layout  
	link.style = "visibility:hidden";
	link.download = fileName + ".csv";
	//this part will append the anchor tag and remove it after automatic click  
	document.body.appendChild(link);
	link.click();
	document.body.removeChild(link);
} 